knitr::opts_knit$set(root.dir = '/Users/charleshanks/desktop/msds/spring_23/ml/FARS2020NationalCSV')
library(tidyverse)
library(tidytext)
library(caret)
library(fastDummies)
library(randomForest)
#intersting in the people driving the vehicle that crashed
drivers = per %>% filter(PER_TYP == 1)

Lot of factors here, this is going to be a lot of dummy cols….

Principal Component Analysis:

LS0tCnRpdGxlOiAiUHJlZGljdGluZyBQcmVzZW5jZSBvZiBBbGNvaG9sIGluIEZhdGFsIFZlaGljbGUgQ3Jhc2hlcyBpbiAyMDIwIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgpgYGB7ciBzZXR1cH0Ka25pdHI6Om9wdHNfa25pdCRzZXQocm9vdC5kaXIgPSAnL1VzZXJzL2NoYXJsZXNoYW5rcy9kZXNrdG9wL21zZHMvc3ByaW5nXzIzL21sL0ZBUlMyMDIwTmF0aW9uYWxDU1YnKQpgYGAKCiAKCmBgYHtyfQpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeSh0aWR5dGV4dCkKbGlicmFyeShjYXJldCkKbGlicmFyeShmYXN0RHVtbWllcykKbGlicmFyeShyYW5kb21Gb3Jlc3QpCmBgYAoKCmBgYHtyfQphY2MgPSByZWFkX2NzdignYWNjaWRlbnQuY3N2JykgIAp2ZWggPSByZWFkX2NzdigndmVoaWNsZS5jc3YnKQpwZXIgPSByZWFkX2NzdigncGVyc29uLmNzdicpCmRydSA9IHJlYWRfY3N2KCdkcnVncy5jc3YnKQoKYGBgCgoKYGBge3J9CiNpbnRlcnN0aW5nIGluIHRoZSBwZW9wbGUgZHJpdmluZyB0aGUgdmVoaWNsZSB0aGF0IGNyYXNoZWQKZHJpdmVycyA9IHBlciAlPiUgZmlsdGVyKFBFUl9UWVAgPT0gMSkKYGBgCgpgYGB7cn0KbmFtZXMoYWNjKQpuYW1lcyhkcml2ZXJzKQoKI2ZpbmRpbmcgcmVwZWF0IGNvbHMgaW4gYm90aCBkYXRhc2V0cwpuYW1lcyhkcml2ZXJzKSAlaW4lIG5hbWVzKGFjYykKCiN0aGVzZSBjb2xzIGFyZSBub3QgaW4gYWNjaWRlbnRzLmNzdiAKZHJpdmVyc1ssNTo3XQpkcml2ZXJzWywyNzoxMjZdCgpkaXN0aW5jdF9kcml2ZXJfY29scyA9IGJpbmRfY29scyhkcml2ZXJzWyw1OjddLGRyaXZlcnNbLDI3OjEyNl0pCgojdGhpcyBpcyBub3cgdGhlIGRyaXZlciBkcyB3aXRob3V0IGRpc3RpbmN0IGZlYXR1cmVzIHRvIGFkZCB0byBhY2NpZGVudHMKZHJpdmVyczIgPSBiaW5kX2NvbHMoZHJpdmVyc1ssM10sIGRpc3RpbmN0X2RyaXZlcl9jb2xzKQoKI2RhdGFzZXQgbm93IHRvIHJlZmluZSBmb3IgbW9kZWwKZHJpdmVyczMgPSBhY2MgJT4lIGxlZnRfam9pbihkcml2ZXJzMiwgYnkgPSAiU1RfQ0FTRSIpCgpkcml2ZXJzMyAlPiUgZ3JvdXBfYnkoRFJVTktfRFIpICU+JSBjb3VudCgpCgpnZXR3ZCgpCmRlYWRseV9kcml2ZXJzID0gd3JpdGVfcmRzKGRyaXZlcnMzKQoKd3JpdGVfcmRzKGRyaXZlcnMzLCBmaWxlID0gIi9Vc2Vycy9jaGFybGVzaGFua3MvRGVza3RvcC9NU0RTL1NQUklOR18yMy9NTC9GQVJTX2RzIikKYGBgCgpgYGB7cn0KI3JlbW92aW5nIHRoZSAiX19OQU1FIiBjYXRlZ29yaWNhbCB2YXJzIiAKZHJpdmVyczMgPSBkcml2ZXJzMyAlPiUgc2VsZWN0KC1lbmRzX3dpdGgoJ25hbWUnLCBpZ25vcmUuY2FzZSA9IFRSVUUpKQoKZHJpdmVyczMgPSBkcml2ZXJzMyAlPiUgcmVuYW1lX2FsbChmdW5zKHRvbG93ZXIoLikpKQoKI2NyZWF0aW5nIGNsYXNzIHRvIHByZWRpY3QgCmRyaXZlcnMzID0gZHJpdmVyczMgJT4lIG11dGF0ZShjbGFzcyA9IGlmZWxzZShkcnVua19kciA+IDAsIDEsMCkpICU+JSByZWxvY2F0ZShjbGFzcykKCiNjb2x1bXNuIHRvIGNvbnZlcnQgdG8gZmFjdG9yOiAKZHJpdmVyczMgPSBkcml2ZXJzMyAlPiUgc2VsZWN0KGNsYXNzLCBzdGF0ZSwgc3RfY2FzZSwgdmVfdG90YWw6cGVyc29ucyxjb3VudHk6cm91dGUsdHdheV9pZCxydXJfdXJiLGZ1bmNfc3lzOnNwX2p1cixoYXJtX2V2OnNjaF9idXMsZmF0YWxzLHN0cl92ZWgsbWFrZTpyb2xsb3ZlcixpbXBhY3QxOmFpcl9iYWcsZWplY3Rpb246ZXh0cmljYXQsZHJ1Z3M6ZHJ1Z19kZXQsZHN0YXR1cyxob3NwaXRhbDpsYWdfaHJzLGxhZ19taW5zOmd2d3JfdG8pCgojdGVzdGluZyBsYXBwbHkgdG8gY29udmVydCBmaXJzdCAzIGNvbHMgdG8gZmFjdG9yCmRyaXZlcnMzW25hbWVzKGRyaXZlcnMzKVsxOjNdXSA9IGxhcHBseShkcml2ZXJzM1tuYW1lcyhkcml2ZXJzMylbMTozXV0sIGZhY3RvcikKCmRyaXZlcnMzID0gZHJpdmVyczMgJT4lIHNlbGVjdCgteWVhciwtbmhzLC10d2F5X2lkLC1taWxlcHQsLXJlbGpjdDEsLXJlbGpjdDIsLXJlbF9yb2FkKQoKZHJpdmVyczMgPSBkcml2ZXJzMyAlPiUgc2VsZWN0KC1ib2R5X3R5cCwtbW9kX3llYXIsLXRvd192ZWgsLXNwZWNfdXNlLC1lbWVyX3VzZSwtcGVyX3R5cCwtaW5qX3Nldiwtc2VhdF9wb3MsLWhvc3BpdGFsLC1kZWF0aF9tbyxkZWF0aF95ciwtZGVhdGhfaHIsLWRlYXRoX21uLC1kZWF0aF90bSwtbGFnX2hycywtbGFnX21pbnMsLXdvcmtfaW5qLC1oaXNwYW5pYywtdnBpY21ha2UsLXZwaWNtb2RlbCwtdnBpY2JvZHljbGFzcywtaWNmaW5hbGJvZHksLWd2d3JfZnJvbSwtZ3Z3cl90bykKCiMgZG8gaXQgYWdhaW4hCmRyaXZlcnMzW25hbWVzKGRyaXZlcnMzKVs0MDo1MF1dID0gbGFwcGx5KGRyaXZlcnMzW25hbWVzKGRyaXZlcnMzKVs0MDo1MF1dLCBmYWN0b3IpCgojZHJpdmVyczNbbmFtZXMoZHJpdmVyczMpWzIxOjM4XV0gPSBsYXBwbHkoZHJpdmVyczNbbmFtZXMoZHJpdmVyczMpWzIxOjM4XV0sIGZhY3RvcikKCiNkcml2ZXJzM1tuYW1lcyhkcml2ZXJzMylbNDA6ODVdXSA9IGxhcHBseShkcml2ZXJzM1tuYW1lcyhkcml2ZXJzMylbNDA6ODVdXSwgZmFjdG9yKQoKI3RoaXMgaXMgbmFzdHkgLSBub3QgYmVzdCBwcmFjdGljZSBmb3IgY29udmVydGluZyB0aGVzZSBjb2xzLCByZXZpc2l0IGFuZCBkbyB0aGlzIGluIG1vcmUgY2xlYW4gZmFzaGlvbgoKZHJpdmVyczMgPSBkcml2ZXJzMyAlPiUgc2VsZWN0KC0oZGVhdGhfZGE6aGVsbV9taXMpKQpgYGAKCgpMb3Qgb2YgZmFjdG9ycyBoZXJlLCB0aGlzIGlzIGdvaW5nIHRvIGJlIGEgbG90IG9mIGR1bW15IGNvbHMuLi4uCmBgYHtyfQoKZHJpdmVyczMgPSBkcml2ZXJzMyAlPiUgc2VsZWN0KC1jb3VudHkpCgpkcml2ZXJzMyA9IGRyaXZlcnMzICU+JSBzZWxlY3QoLW1ha19tb2QpCmBgYApgYGB7cn0KZDNfY29scyA9IG5hbWVzKGRyaXZlcnMzKSAKCmRyaXZlcnM0ID0gZHJpdmVyczMgJT4lIHNlbGVjdCgtY2xhc3MpICU+JSAKICBkdW1teV9jb2xzKHJlbW92ZV9zZWxlY3RlZF9jb2x1bW5zID0gVCkgJT4lIAogICAgIGNiaW5kKGRyaXZlcnMzICU+JSAKICAgICAgICAgIHNlbGVjdChjbGFzcykpICU+JSAKICAgICAgICAgICAgICAgIHJlbG9jYXRlKGNsYXNzKQpgYGAKClByaW5jaXBhbCBDb21wb25lbnQgQW5hbHlzaXM6IAoKYGBge3J9CmRyaXZlcnM0W25hbWVzKGRyaXZlcnM0KVsxODozNTVdXSA9IGxhcHBseShkcml2ZXJzNFtuYW1lcyhkcml2ZXJzNClbMTg6MzU1XV0sIGZhY3RvcikKCmRyaXZlcnM0ID0gZHJpdmVyczQgJT4lIG11dGF0ZShjbGFzcyA9IGlmZWxzZShjbGFzcyA9PSAxLDAsMSkpCgpkcml2ZXJzNSA9IGRyaXZlcnM0ICU+JSBzZWxlY3QoZmF0YWxzOmFnZSkgJT4lIHByZVByb2Nlc3MobWV0aG9kID0gYygiY2VudGVyIiwgInNjYWxlIikpICU+JSBwcmVkaWN0KGRyaXZlcnM0KSAlPiUgbmEub21pdCgpCgojaW5jb21lID0gaW5jb21lICU+JSBzZWxlY3QoY2FwaXRhbF9nYWluLCBjYXBpdGFsX2xvc3MpICU+JSBwcmVQcm9jZXNzKG1ldGhvZCA9IGMoImNlbnRlciIsICJzY2FsZSIpKSAlPiUgcHJlZGljdChpbmNvbWUpIAoKaXMuaW5maW5pdGUoZHJpdmVyczUpCmFueShzYXBwbHkoZHJpdmVyczUsIGZ1bmN0aW9uKHgpIGFueShpcy5pbmZpbml0ZSh4KSkpKQoKZHJpdmVyczVbbmFtZXMoZHJpdmVyczVbMTg6MzU1XSldID0gbGFwcGx5KGRyaXZlcnM1W25hbWVzKGRyaXZlcnM1KVsxODozNTVdXSwgYXMubnVtZXJpYykKCnByX2RyaXZlciA9IHByY29tcCh4ID0gc2VsZWN0KGRyaXZlcnM1LCAtY2xhc3MpLCBjZW50ZXIgPSBGLCBzY2FsZSA9IEYpCgpzdW1tYXJ5KHByX2RyaXZlcikKCiNmb3Igc29tZSByZWFzb24gY3VtdWxhdGl2ZSBwcm9wb3J0aW9uIGlzIG5vdCBkaXNwbGF5aW5nIGluIG15IHN1bW1hcnkgb2YgcGNhLiBIZXJlIGlzIGEgd29ya2Fyb3VuZDogCgp2YXJzIDwtIGFwcGx5KHByX2RyaXZlciR4LCAyLCB2YXIpICAKcHJvcHMgPC0gdmFycyAvIHN1bSh2YXJzKQpjdW1zdW0ocHJvcHMpCmBgYAoKYGBge3J9CnNjcmVlcGxvdChwcl9kcml2ZXIsIHR5cGUgPSAibGluZXMiKQojc29tZXRoaW5nIGlzbid0IHJpZ2h0IGhlcmUuLi4uIAoKYGBgCgo=